package com.haixiaoke.saas.bill.mapper;

import com.haixiaoke.saas.bill.domain.Bill;

import java.util.List;
import java.util.Map;

/**
 * 账单Mapper接口
 * 
 * @author panda
 * @date 2025-06-26
 */
public interface BillMapper {
    /**
     * 查询账单
     * 
     * @param billId 账单主键
     * @return 账单
     */
    Bill selectBillByBillId(String billId);

    /**
     * 查询账单列表
     * 
     * @param bill 账单
     * @return 账单集合
     */
    List<Bill> selectBillList(Bill bill);

    /**
     * 新增账单
     * 
     * @param bill 账单
     * @return 结果
     */
    int insertBill(Bill bill);

    /**
     * 修改账单
     * 
     * @param bill 账单
     * @return 结果
     */
    int updateBill(Bill bill);

    /**
     * 删除账单
     * 
     * @param billId 账单主键
     * @return 结果
     */
    int deleteBillByBillId(String billId);

    /**
     * 批量删除账单
     * 
     * @param billIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteBillByBillIds(String[] billIds);

    List<Map<String, Object>> homePage(String tenantId);

    int insertBatchBill(List<Bill> billList);
}
